home *** CD-ROM | disk | FTP | other *** search
/ CD Classic 39 / CD CLASSIC #39 (1998).iso / EMPRESA / visio / Vistdstd / Install / Data.Z / Ovisprox.H < prev    next >
C/C++ Source or Header  |  1996-09-16  |  68KB  |  1,163 lines

  1. /* OVISPROX.H - Visio Automation Interface Declarations
  2.  * Copyright (C) 1991-1996 Visio Corporation. All rights reserved.
  3.  */
  4.  
  5. //    This file is the old (Visio 4.1 and earlier) IVISPROX.H
  6.  
  7.  
  8. #ifndef _OVISPROX_H
  9. #define _OVISPROX_H
  10.  
  11. #define _IVISPROX_H
  12.  
  13. #pragma message("Including ovisprox.h...")
  14.  
  15. #ifdef __cplusplus
  16. #define IFACE_DECL(iface, ptr)\
  17. interface iface;              \
  18. typedef iface FAR * ptr;
  19. #else
  20. #define IFACE_DECL(iface, ptr)\
  21. typedef interface iface iface;\
  22. typedef iface FAR * ptr;
  23. #endif
  24.  
  25. IFACE_DECL(IVisioApplication, LPVISIOAPPLICATION)
  26. IFACE_DECL(IVisioCell, LPVISIOCELL)
  27. IFACE_DECL(IVisioChars, LPVISIOCHARS)
  28. IFACE_DECL(IVisioConnect, LPVISIOCONNECT)
  29. IFACE_DECL(IVisioConnects, LPVISIOCONNECTS)
  30. IFACE_DECL(IVisioDocument, LPVISIODOCUMENT)
  31. IFACE_DECL(IVisioDocuments, LPVISIODOCUMENTS)
  32. IFACE_DECL(IVisioMaster, LPVISIOMASTER)
  33. IFACE_DECL(IVisioMasters, LPVISIOMASTERS)
  34. IFACE_DECL(IVisioPage, LPVISIOPAGE)
  35. IFACE_DECL(IVisioPages, LPVISIOPAGES)
  36. IFACE_DECL(IVisioSelection, LPVISIOSELECTION)
  37. IFACE_DECL(IVisioShape, LPVISIOSHAPE)
  38. IFACE_DECL(IVisioShapes, LPVISIOSHAPES)
  39. IFACE_DECL(IVisioStyle, LPVISIOSTYLE)
  40. IFACE_DECL(IVisioStyles, LPVISIOSTYLES)
  41. IFACE_DECL(IVisioWindow, LPVISIOWINDOW)
  42. IFACE_DECL(IVisioWindows, LPVISIOWINDOWS)
  43. IFACE_DECL(IVisioLayer, LPVISIOLAYER)
  44. IFACE_DECL(IVisioLayers, LPVISIOLAYERS)
  45. IFACE_DECL(IVisioFont, LPVISIOFONT)
  46. IFACE_DECL(IVisioFonts, LPVISIOFONTS)
  47. IFACE_DECL(IVisioColor, LPVISIOCOLOR)
  48. IFACE_DECL(IVisioColors, LPVISIOCOLORS)
  49. IFACE_DECL(IVisioAddon, LPVISIOADDON)
  50. IFACE_DECL(IVisioAddons, LPVISIOADDONS)
  51. IFACE_DECL(IVisioEvent, LPVISIOEVENT)
  52. IFACE_DECL(IVisioEvents, LPVISIOEVENTS)
  53.  
  54. #undef  INTERFACE
  55. #define INTERFACE   IVisioApplication
  56.  
  57. DECLARE_INTERFACE_(IVisioApplication , IUnknown)
  58.     {
  59.     // *** IUnknown methods ***
  60.     STDMETHOD(QueryInterface)       (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  61.     STDMETHOD_(ULONG,AddRef)        (THIS) PURE;
  62.     STDMETHOD_(ULONG,Release)       (THIS) PURE;
  63.  
  64.     // *** IVisioApplication methods ***
  65.     STDMETHOD(ActiveDocument)       (THIS_ LPVISIODOCUMENT FAR * lpdispRet) PURE;
  66.     STDMETHOD(ActivePage)           (THIS_ LPVISIOPAGE FAR * lpdispRet) PURE;
  67.     STDMETHOD(ActiveWindow)         (THIS_ LPVISIOWINDOW FAR * lpdispRet) PURE;
  68.     STDMETHOD(Application)          (THIS_ LPVISIOAPPLICATION FAR * lpdispRet) PURE;
  69.     STDMETHOD(Documents)            (THIS_ LPVISIODOCUMENTS FAR * lpdispRet) PURE;
  70.     STDMETHOD(ObjectType)           (THIS_ short FAR * lpi2Ret) PURE;
  71.     STDMETHOD(getOnDataChangeDelay) (THIS_ long FAR * lpi4Ret) PURE;
  72.     STDMETHOD(putOnDataChangeDelay) (THIS_ long Delay) PURE;
  73.     STDMETHOD(ProcessID)            (THIS_ long FAR * lpi4Ret) PURE;
  74.     STDMETHOD(Quit)                 (THIS) PURE;
  75.     STDMETHOD(Redo)                 (THIS) PURE;
  76.     STDMETHOD(getScreenUpdating)    (THIS_ short FAR * lpi2Ret) PURE;
  77.     STDMETHOD(putScreenUpdating)    (THIS_ short OnOrOff) PURE;
  78.     STDMETHOD(Stat)                 (THIS_ short FAR * lpi2Ret) PURE;
  79.     STDMETHOD(Undo)                 (THIS) PURE;
  80.     STDMETHOD(Version)              (THIS_ BSTR FAR * lpbstrRet) PURE;
  81.     STDMETHOD(WindowHandle)         (THIS_ short FAR * lpi2Ret) PURE;
  82.     STDMETHOD(Windows)              (THIS_ LPVISIOWINDOWS FAR * lpdispRet) PURE;
  83.     STDMETHOD(Language)             (THIS_ long FAR * lpi4Ret) PURE;
  84.     STDMETHOD(IsVisio16)            (THIS_ BOOL FAR * lpboolRet) PURE;
  85.     STDMETHOD(IsVisio32)            (THIS_ BOOL FAR * lpboolRet) PURE;
  86.     STDMETHOD(WindowHandle32)       (THIS_ long FAR * lpi4Ret) PURE;
  87.     STDMETHOD(InstanceHandle)       (THIS_ short FAR * lpi2Ret) PURE;
  88.     STDMETHOD(InstanceHandle32)     (THIS_ long FAR * lpi4Ret) PURE;
  89.     STDMETHOD(BuiltInMenus)         (THIS_ LPUNKNOWN FAR * lpdispRet) PURE;
  90.     STDMETHOD(BuiltInToolbars)      (THIS_ short fWhichToolbars, LPUNKNOWN FAR * lpdispRet) PURE;
  91.     STDMETHOD(CustomMenus)          (THIS_ LPUNKNOWN FAR * lpdispRet) PURE;
  92.     STDMETHOD(SetCustomMenus)       (THIS_ LPUNKNOWN MenusObject) PURE;
  93.     STDMETHOD(getCustomMenusFile)   (THIS_ BSTR FAR * lpbstrRet) PURE;
  94.     STDMETHOD(putCustomMenusFile)   (THIS_ BSTR FileName) PURE;
  95.     STDMETHOD(ClearCustomMenus)     (THIS) PURE;
  96.     STDMETHOD(CustomToolbars)       (THIS_ LPUNKNOWN FAR * lpdispRet) PURE;
  97.     STDMETHOD(SetCustomToolbars)    (THIS_ LPUNKNOWN ToolbarsObject) PURE;
  98.     STDMETHOD(getCustomToolbarsFile) (THIS_ BSTR FAR * lpbstrRet) PURE;
  99.     STDMETHOD(putCustomToolbarsFile) (THIS_ BSTR FileName) PURE;
  100.     STDMETHOD(ClearCustomToolbars)  (THIS) PURE;
  101.     STDMETHOD(getAddonPaths)        (THIS_ BSTR FAR * lpbstrRet) PURE;
  102.     STDMETHOD(putAddonPaths)        (THIS_ BSTR PathsString) PURE;
  103.     STDMETHOD(getDrawingPaths)      (THIS_ BSTR FAR * lpbstrRet) PURE;
  104.     STDMETHOD(putDrawingPaths)      (THIS_ BSTR PathsString) PURE;
  105.     STDMETHOD(getFilterPaths)       (THIS_ BSTR FAR * lpbstrRet) PURE;
  106.     STDMETHOD(putFilterPaths)       (THIS_ BSTR PathsString) PURE;
  107.     STDMETHOD(getHelpPaths)         (THIS_ BSTR FAR * lpbstrRet) PURE;
  108.     STDMETHOD(putHelpPaths)         (THIS_ BSTR PathsString) PURE;
  109.     STDMETHOD(getStartupPaths)      (THIS_ BSTR FAR * lpbstrRet) PURE;
  110.     STDMETHOD(putStartupPaths)      (THIS_ BSTR PathsString) PURE;
  111.     STDMETHOD(getStencilPaths)      (THIS_ BSTR FAR * lpbstrRet) PURE;
  112.     STDMETHOD(putStencilPaths)      (THIS_ BSTR PathsString) PURE;
  113.     STDMETHOD(getTemplatePaths)     (THIS_ BSTR FAR * lpbstrRet) PURE;
  114.     STDMETHOD(putTemplatePaths)     (THIS_ BSTR PathsString) PURE;
  115.     STDMETHOD(getUserName)          (THIS_ BSTR FAR * lpbstrRet) PURE;
  116.     STDMETHOD(putUserName)          (THIS_ BSTR UserName) PURE;
  117.     STDMETHOD(getPromptForSummary)  (THIS_ short FAR * lpi2Ret) PURE;
  118.     STDMETHOD(putPromptForSummary)  (THIS_ short OnOrOff) PURE;
  119.     STDMETHOD(Addons)               (THIS_ LPVISIOADDONS FAR * lpdispRet) PURE;
  120.     STDMETHOD(SaveWorkspaceAs)      (THIS_ BSTR FileName) PURE;
  121.     STDMETHOD(DoCmd)                (THIS_ short CommandID) PURE;
  122.     STDMETHOD(ProfileName)          (THIS_ BSTR FAR * lpbstrRet) PURE;
  123.     STDMETHOD(EventInfo)            (THIS_ long EventSeqNum, BSTR FAR * lpbstrRet) PURE;
  124.     STDMETHOD(EventList)            (THIS_ LPVISIOEVENTS FAR * lpdispRet) PURE;
  125.     STDMETHOD(PersistsEvents)       (THIS_ BOOL FAR * lpboolRet) PURE;
  126.     STDMETHOD(Active)               (THIS_ BOOL FAR * lpboolRet) PURE;
  127.     STDMETHOD(getDeferRecalc)       (THIS_ short FAR * lpi2Ret) PURE;
  128.     STDMETHOD(putDeferRecalc)       (THIS_ short OnOrOff) PURE;
  129.     STDMETHOD(getAlertResponse)     (THIS_ short FAR * lpi2Ret) PURE;
  130.     STDMETHOD(putAlertResponse)     (THIS_ short Response) PURE;
  131.     STDMETHOD(getShowProgress)      (THIS_ short FAR * lpi2Ret) PURE;
  132.     STDMETHOD(putShowProgress)      (THIS_ short OnOrOff) PURE;
  133.     };
  134.  
  135.  
  136. #undef  INTERFACE
  137. #define INTERFACE   IVisioCell
  138.  
  139. DECLARE_INTERFACE_(IVisioCell , IUnknown)
  140.     {
  141.     // *** IUnknown methods ***
  142.     STDMETHOD(QueryInterface)       (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  143.     STDMETHOD_(ULONG,AddRef)        (THIS) PURE;
  144.     STDMETHOD_(ULONG,Release)       (THIS) PURE;
  145.  
  146.     // *** IVisioCell methods ***
  147.     STDMETHOD(Application)          (THIS_ LPVISIOAPPLICATION FAR * lpdispRet) PURE;
  148.     STDMETHOD(ObjectType)           (THIS_ short FAR * lpi2Ret) PURE;
  149.     STDMETHOD(Error)                (THIS_ short FAR * lpi2Ret) PURE;
  150.     STDMETHOD(getFormula)           (THIS_ BSTR FAR * lpbstrRet) PURE;
  151.     STDMETHOD(putFormula)           (THIS_ BSTR Formula) PURE;
  152.     STDMETHOD(FormulaForce)         (THIS_ BSTR Formula) PURE;
  153.     STDMETHOD(GlueTo)               (THIS_ LPVISIOCELL CellObject) PURE;
  154.     STDMETHOD(GlueToPos)            (THIS_ LPVISIOSHAPE SheetObject, double xPercent, double yPercent) PURE;
  155.     STDMETHOD(getResult)            (THIS_ VARIANT UnitsNameOrCode, double FAR * lpr8Ret) PURE;
  156.     STDMETHOD(putResult)            (THIS_ VARIANT UnitsNameOrCode, double Value) PURE;
  157.     STDMETHOD(ResultForce)          (THIS_ VARIANT UnitsNameOrCode, double Value) PURE;
  158.     STDMETHOD(getResultIU)          (THIS_ double FAR * lpr8Ret) PURE;
  159.     STDMETHOD(putResultIU)          (THIS_ double Value) PURE;
  160.     STDMETHOD(ResultIUForce)        (THIS_ double Value) PURE;
  161.     STDMETHOD(Stat)                 (THIS_ short FAR * lpi2Ret) PURE;
  162.     STDMETHOD(Units)                (THIS_ short FAR * lpi2Ret) PURE;
  163.     STDMETHOD(Name)                 (THIS_ BSTR FAR * lpbstrRet) PURE;
  164.     STDMETHOD(LocalName)            (THIS_ BSTR FAR * lpbstrRet) PURE;
  165.     STDMETHOD(putRowName)           (THIS_ BSTR RowName) PURE;
  166.     STDMETHOD(Document)             (THIS_ LPVISIODOCUMENT FAR * lpdispRet) PURE;
  167.     STDMETHOD(Shape)                (THIS_ LPVISIOSHAPE FAR * lpdispRet) PURE;
  168.     STDMETHOD(Style)                (THIS_ LPVISIOSTYLE FAR * lpdispRet) PURE;
  169.     STDMETHOD(Section)              (THIS_ short FAR * lpi2Ret) PURE;
  170.     STDMETHOD(Row)                  (THIS_ short FAR * lpi2Ret) PURE;
  171.     STDMETHOD(Column)               (THIS_ short FAR * lpi2Ret) PURE;
  172.     STDMETHOD(IsConstant)           (THIS_ BOOL FAR * lpboolRet) PURE;
  173.     STDMETHOD(IsInherited)          (THIS_ BOOL FAR * lpboolRet) PURE;
  174.     STDMETHOD(getResultInt)         (THIS_ VARIANT UnitsNameOrCode, short fRound, long FAR * lpi4Ret) PURE;
  175.     STDMETHOD(putResultInt)         (THIS_ VARIANT UnitsNameOrCode, long Value) PURE;
  176.     STDMETHOD(ResultIntForce)       (THIS_ VARIANT UnitsNameOrCode, long Value) PURE;
  177.     STDMETHOD(ResultStr)            (THIS_ VARIANT UnitsNameOrCode, BSTR FAR * lpbstrRet) PURE;
  178.     STDMETHOD(Trigger)              (THIS) PURE;
  179.     STDMETHOD(getRowName)           (THIS_ BSTR FAR * lpbstrRet) PURE;
  180.     STDMETHOD(EventList)            (THIS_ LPVISIOEVENTS FAR * lpdispRet) PURE;
  181.     STDMETHOD(PersistsEvents)       (THIS_ BOOL FAR * lpboolRet) PURE;
  182.     };
  183.  
  184.  
  185. #undef  INTERFACE
  186. #define INTERFACE   IVisioChars
  187.  
  188. DECLARE_INTERFACE_(IVisioChars , IUnknown)
  189.     {
  190.     // *** IUnknown methods ***
  191.     STDMETHOD(QueryInterface)       (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  192.     STDMETHOD_(ULONG,AddRef)        (THIS) PURE;
  193.     STDMETHOD_(ULONG,Release)       (THIS) PURE;
  194.  
  195.     // *** IVisioChars methods ***
  196.     STDMETHOD(AddCustomField)       (THIS_ BSTR Formula, short Format) PURE;
  197.     STDMETHOD(AddField)             (THIS_ short Category, short Code, short Format) PURE;
  198.     STDMETHOD(Application)          (THIS_ LPVISIOAPPLICATION FAR * lpdispRet) PURE;
  199.     STDMETHOD(getBegin)             (THIS_ long FAR * lpi4Ret) PURE;
  200.     STDMETHOD(putBegin)             (THIS_ long IPIndex) PURE;
  201.     STDMETHOD(CharCount)            (THIS_ long FAR * lpi4Ret) PURE;
  202.     STDMETHOD(CharProps)            (THIS_ short CellIndex, short Value) PURE;
  203.     STDMETHOD(CharPropsRow)         (THIS_ short BiasLorR, short FAR * lpi2Ret) PURE;
  204.     STDMETHOD(Copy)                 (THIS) PURE;
  205.     STDMETHOD(Cut)                  (THIS) PURE;
  206.     STDMETHOD(ObjectType)           (THIS_ short FAR * lpi2Ret) PURE;
  207.     STDMETHOD(getEnd)               (THIS_ long FAR * lpi4Ret) PURE;
  208.     STDMETHOD(putEnd)               (THIS_ long IPIndex) PURE;
  209.     STDMETHOD(FieldCategory)        (THIS_ short FAR * lpi2Ret) PURE;
  210.     STDMETHOD(FieldCode)            (THIS_ short FAR * lpi2Ret) PURE;
  211.     STDMETHOD(FieldFormat)          (THIS_ short FAR * lpi2Ret) PURE;
  212.     STDMETHOD(FieldFormula)         (THIS_ BSTR FAR * lpbstrRet) PURE;
  213.     STDMETHOD(IsField)              (THIS_ short FAR * lpi2Ret) PURE;
  214.     STDMETHOD(ParaProps)            (THIS_ short CellIndex, short Value) PURE;
  215.     STDMETHOD(ParaPropsRow)         (THIS_ short BiasLorR, short FAR * lpi2Ret) PURE;
  216.     STDMETHOD(Paste)                (THIS) PURE;
  217.     STDMETHOD(TabPropsRow)          (THIS_ short BiasLorR, short FAR * lpi2Ret) PURE;
  218.     STDMETHOD(RunBegin)             (THIS_ short RunType, long FAR * lpi4Ret) PURE;
  219.     STDMETHOD(RunEnd)               (THIS_ short RunType, long FAR * lpi4Ret) PURE;
  220.     STDMETHOD(Shape)                (THIS_ LPVISIOSHAPE FAR * lpdispRet) PURE;
  221.     STDMETHOD(Stat)                 (THIS_ short FAR * lpi2Ret) PURE;
  222.     STDMETHOD(getText)              (THIS_ BSTR FAR * lpbstrRet) PURE;
  223.     STDMETHOD(putText)              (THIS_ VARIANT StrCharsOrSheet) PURE;
  224.     STDMETHOD(Document)             (THIS_ LPVISIODOCUMENT FAR * lpdispRet) PURE;
  225.     STDMETHOD(EventList)            (THIS_ LPVISIOEVENTS FAR * lpdispRet) PURE;
  226.     STDMETHOD(PersistsEvents)       (THIS_ BOOL FAR * lpboolRet) PURE;
  227.     };
  228.  
  229.  
  230. #undef  INTERFACE
  231. #define INTERFACE   IVisioConnect
  232.  
  233. DECLARE_INTERFACE_(IVisioConnect , IUnknown)
  234.     {
  235.     // *** IUnknown methods ***
  236.     STDMETHOD(QueryInterface)       (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  237.     STDMETHOD_(ULONG,AddRef)        (THIS) PURE;
  238.     STDMETHOD_(ULONG,Release)       (THIS) PURE;
  239.  
  240.     // *** IVisioConnect methods ***
  241.     STDMETHOD(Application)          (THIS_ LPVISIOAPPLICATION FAR * lpdispRet) PURE;
  242.     STDMETHOD(Stat)                 (THIS_ short FAR * lpi2Ret) PURE;
  243.     STDMETHOD(FromSheet)            (THIS_ LPVISIOSHAPE FAR * lpdispRet) PURE;
  244.     STDMETHOD(ToSheet)              (THIS_ LPVISIOSHAPE FAR * lpdispRet) PURE;
  245.     STDMETHOD(FromCell)             (THIS_ LPVISIOCELL FAR * lpdispRet) PURE;
  246.     STDMETHOD(ToCell)               (THIS_ LPVISIOCELL FAR * lpdispRet) PURE;
  247.     STDMETHOD(FromPart)             (THIS_ short FAR * lpi2Ret) PURE;
  248.     STDMETHOD(ToPart)               (THIS_ short FAR * lpi2Ret) PURE;
  249.     STDMETHOD(ObjectType)           (THIS_ short FAR * lpi2Ret) PURE;
  250.     STDMETHOD(Index)                (THIS_ short FAR * lpi2Ret) PURE;
  251.     STDMETHOD(Document)             (THIS_ LPVISIODOCUMENT FAR * lpdispRet) PURE;
  252.     };
  253.  
  254.  
  255. #undef  INTERFACE
  256. #define INTERFACE   IVisioConnects
  257.  
  258. DECLARE_INTERFACE_(IVisioConnects , IUnknown)
  259.     {
  260.     // *** IUnknown methods ***
  261.     STDMETHOD(QueryInterface)       (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  262.     STDMETHOD_(ULONG,AddRef)        (THIS) PURE;
  263.     STDMETHOD_(ULONG,Release)       (THIS) PURE;
  264.  
  265.     // *** IVisioConnects methods ***
  266.     STDMETHOD(Application)          (THIS_ LPVISIOAPPLICATION FAR * lpdispRet) PURE;
  267.     STDMETHOD(Item)                 (THIS_ short Index, LPVISIOCONNECT FAR * lpdispRet) PURE;
  268.     STDMETHOD(Count)                (THIS_ short FAR * lpi2Ret) PURE;
  269.     STDMETHOD(FromSheet)            (THIS_ LPVISIOSHAPE FAR * lpdispRet) PURE;
  270.     STDMETHOD(ObjectType)           (THIS_ short FAR * lpi2Ret) PURE;
  271.     STDMETHOD(Document)             (THIS_ LPVISIODOCUMENT FAR * lpdispRet) PURE;
  272.     STDMETHOD(Stat)                 (THIS_ short FAR * lpi2Ret) PURE;
  273.     STDMETHOD(ToSheet)              (THIS_ LPVISIOSHAPE FAR * lpdispRet) PURE;
  274.     };
  275.  
  276.  
  277. #undef  INTERFACE
  278. #define INTERFACE   IVisioDocument
  279.  
  280. DECLARE_INTERFACE_(IVisioDocument , IUnknown)
  281.     {
  282.     // *** IUnknown methods ***
  283.     STDMETHOD(QueryInterface)       (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  284.     STDMETHOD_(ULONG,AddRef)        (THIS) PURE;
  285.     STDMETHOD_(ULONG,Release)       (THIS) PURE;
  286.  
  287.     // *** IVisioDocument methods ***
  288.     STDMETHOD(Application)          (THIS_ LPVISIOAPPLICATION FAR * lpdispRet) PURE;
  289.     STDMETHOD(Stat)                 (THIS_ short FAR * lpi2Ret) PURE;
  290.     STDMETHOD(ObjectType)           (THIS_ short FAR * lpi2Ret) PURE;
  291.     STDMETHOD(InPlace)              (THIS_ short FAR * lpi2Ret) PURE;
  292.     STDMETHOD(Masters)              (THIS_ LPVISIOMASTERS FAR * lpdispRet) PURE;
  293.     STDMETHOD(Pages)                (THIS_ LPVISIOPAGES FAR * lpdispRet) PURE;
  294.     STDMETHOD(Styles)               (THIS_ LPVISIOSTYLES FAR * lpdispRet) PURE;
  295.     STDMETHOD(Name)                 (THIS_ BSTR FAR * lpbstrRet) PURE;
  296.     STDMETHOD(Path)                 (THIS_ BSTR FAR * lpbstrRet) PURE;
  297.     STDMETHOD(FullName)             (THIS_ BSTR FAR * lpbstrRet) PURE;
  298.     STDMETHOD(Drop)                 (THIS_ LPUNKNOWN ObjectToDrop, short xPos, short yPos, LPVISIOMASTER FAR * lpdispRet) PURE;
  299.     STDMETHOD(Index)                (THIS_ short FAR * lpi2Ret) PURE;
  300.     STDMETHOD(getSaved)             (THIS_ short FAR * lpi2Ret) PURE;
  301.     STDMETHOD(putSaved)             (THIS_ short TrueOrFalse) PURE;
  302.     STDMETHOD(ReadOnly)             (THIS_ short FAR * lpi2Ret) PURE;
  303.     STDMETHOD(Save)                 (THIS_ short FAR * lpi2Ret) PURE;
  304.     STDMETHOD(SaveAs)               (THIS_ BSTR FileName, short FAR * lpi2Ret) PURE;
  305.     STDMETHOD(getVersion)           (THIS_ long FAR * lpi4Ret) PURE;
  306.     STDMETHOD(putVersion)           (THIS_ long Version) PURE;
  307.     STDMETHOD(getTitle)             (THIS_ BSTR FAR * lpbstrRet) PURE;
  308.     STDMETHOD(putTitle)             (THIS_ BSTR Title) PURE;
  309.     STDMETHOD(getSubject)           (THIS_ BSTR FAR * lpbstrRet) PURE;
  310.     STDMETHOD(putSubject)           (THIS_ BSTR Subject) PURE;
  311.     STDMETHOD(getCreator)           (THIS_ BSTR FAR * lpbstrRet) PURE;
  312.     STDMETHOD(putCreator)           (THIS_ BSTR Creator) PURE;
  313.     STDMETHOD(getKeywords)          (THIS_ BSTR FAR * lpbstrRet) PURE;
  314.     STDMETHOD(putKeywords)          (THIS_ BSTR Keywords) PURE;
  315.     STDMETHOD(getDescription)       (THIS_ BSTR FAR * lpbstrRet) PURE;
  316.     STDMETHOD(putDescription)       (THIS_ BSTR Description) PURE;
  317.     STDMETHOD(Print)                (THIS) PURE;
  318.     STDMETHOD(Close)                (THIS) PURE;
  319.     STDMETHOD(CustomMenus)          (THIS_ LPUNKNOWN FAR * lpdispRet) PURE;
  320.     STDMETHOD(SetCustomMenus)       (THIS_ LPUNKNOWN MenusObject) PURE;
  321.     STDMETHOD(getCustomMenusFile)   (THIS_ BSTR FAR * lpbstrRet) PURE;
  322.     STDMETHOD(putCustomMenusFile)   (THIS_ BSTR FileName) PURE;
  323.     STDMETHOD(ClearCustomMenus)     (THIS) PURE;
  324.     STDMETHOD(CustomToolbars)       (THIS_ LPUNKNOWN FAR * lpdispRet) PURE;
  325.     STDMETHOD(SetCustomToolbars)    (THIS_ LPUNKNOWN ToolbarsObject) PURE;
  326.     STDMETHOD(getCustomToolbarsFile) (THIS_ BSTR FAR * lpbstrRet) PURE;
  327.     STDMETHOD(putCustomToolbarsFile) (THIS_ BSTR FileName) PURE;
  328.     STDMETHOD(ClearCustomToolbars)  (THIS) PURE;
  329.     STDMETHOD(Fonts)                (THIS_ LPVISIOFONTS FAR * lpdispRet) PURE;
  330.     STDMETHOD(Colors)               (THIS_ LPVISIOCOLORS FAR * lpdispRet) PURE;
  331.     STDMETHOD(EventList)            (THIS_ LPVISIOEVENTS FAR * lpdispRet) PURE;
  332.     STDMETHOD(Template)             (THIS_ BSTR FAR * lpbstrRet) PURE;
  333.     STDMETHOD(SaveAsEx)             (THIS_ BSTR FileName, short SaveFlags) PURE;
  334.     STDMETHOD(getSavePreviewMode)   (THIS_ short FAR * lpi2Ret) PURE;
  335.     STDMETHOD(putSavePreviewMode)   (THIS_ short OnOrOff) PURE;
  336.     STDMETHOD(GetIcon)              (THIS_ short ID, BSTR FileName) PURE;
  337.     STDMETHOD(SetIcon)              (THIS_ short ID, short Index, BSTR FileName) PURE;
  338.     STDMETHOD(getLeftMargin)        (THIS_ VARIANT UnitsNameOrCode, double FAR * lpr8Ret) PURE;
  339.     STDMETHOD(putLeftMargin)        (THIS_ VARIANT UnitsNameOrCode, double Value) PURE;
  340.     STDMETHOD(getRightMargin)       (THIS_ VARIANT UnitsNameOrCode, double FAR * lpr8Ret) PURE;
  341.     STDMETHOD(putRightMargin)       (THIS_ VARIANT UnitsNameOrCode, double Value) PURE;
  342.     STDMETHOD(getTopMargin)         (THIS_ VARIANT UnitsNameOrCode, double FAR * lpr8Ret) PURE;
  343.     STDMETHOD(putTopMargin)         (THIS_ VARIANT UnitsNameOrCode, double Value) PURE;
  344.     STDMETHOD(getBottomMargin)      (THIS_ VARIANT UnitsNameOrCode, double FAR * lpr8Ret) PURE;
  345.     STDMETHOD(putBottomMargin)      (THIS_ VARIANT UnitsNameOrCode, double Value) PURE;
  346.     STDMETHOD(getPrintLandscape)    (THIS_ short FAR * lpi2Ret) PURE;
  347.     STDMETHOD(putPrintLandscape)    (THIS_ short TrueOrFalse) PURE;
  348.     STDMETHOD(getPrintCenteredH)    (THIS_ short FAR * lpi2Ret) PURE;
  349.     STDMETHOD(putPrintCenteredH)    (THIS_ short TrueOrFalse) PURE;
  350.     STDMETHOD(getPrintCenteredV)    (THIS_ short FAR * lpi2Ret) PURE;
  351.     STDMETHOD(putPrintCenteredV)    (THIS_ short TrueOrFalse) PURE;
  352.     STDMETHOD(getPrintScale)        (THIS_ double FAR * lpr8Ret) PURE;
  353.     STDMETHOD(putPrintScale)        (THIS_ double Scale) PURE;
  354.     STDMETHOD(getPrintFitOnPages)   (THIS_ short FAR * lpi2Ret) PURE;
  355.     STDMETHOD(putPrintFitOnPages)   (THIS_ short TrueOrFalse) PURE;
  356.     STDMETHOD(getPrintPagesAcross)  (THIS_ short FAR * lpi2Ret) PURE;
  357.     STDMETHOD(putPrintPagesAcross)  (THIS_ short PageCount) PURE;
  358.     STDMETHOD(getPrintPagesDown)    (THIS_ short FAR * lpi2Ret) PURE;
  359.     STDMETHOD(putPrintPagesDown)    (THIS_ short PageCount) PURE;
  360.     STDMETHOD(getDefaultStyle)      (THIS_ BSTR FAR * lpbstrRet) PURE;
  361.     STDMETHOD(putDefaultStyle)      (THIS_ BSTR StyleName) PURE;
  362.     STDMETHOD(getDefaultLineStyle)  (THIS_ BSTR FAR * lpbstrRet) PURE;
  363.     STDMETHOD(putDefaultLineStyle)  (THIS_ BSTR StyleName) PURE;
  364.     STDMETHOD(getDefaultFillStyle)  (THIS_ BSTR FAR * lpbstrRet) PURE;
  365.     STDMETHOD(putDefaultFillStyle)  (THIS_ BSTR StyleName) PURE;
  366.     STDMETHOD(getDefaultTextStyle)  (THIS_ BSTR FAR * lpbstrRet) PURE;
  367.     STDMETHOD(putDefaultTextStyle)  (THIS_ BSTR StyleName) PURE;
  368.     STDMETHOD(PersistsEvents)       (THIS_ BOOL FAR * lpboolRet) PURE;
  369.     STDMETHOD(OpenStencilWindow)    (THIS_ LPVISIOWINDOW FAR * lpdispRet) PURE;
  370.     };
  371.  
  372.  
  373. #undef  INTERFACE
  374. #define INTERFACE   IVisioDocuments
  375.  
  376. DECLARE_INTERFACE_(IVisioDocuments , IUnknown)
  377.     {
  378.     // *** IUnknown methods ***
  379.     STDMETHOD(QueryInterface)       (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  380.     STDMETHOD_(ULONG,AddRef)        (THIS) PURE;
  381.     STDMETHOD_(ULONG,Release)       (THIS) PURE;
  382.  
  383.     // *** IVisioDocuments methods ***
  384.     STDMETHOD(Add)                  (THIS_ BSTR FileName, LPVISIODOCUMENT FAR * lpdispRet) PURE;
  385.     STDMETHOD(Open)                 (THIS_ BSTR FileName, LPVISIODOCUMENT FAR * lpdispRet) PURE;
  386.     STDMETHOD(Application)          (THIS_ LPVISIOAPPLICATION FAR * lpdispRet) PURE;
  387.     STDMETHOD(ObjectType)           (THIS_ short FAR * lpi2Ret) PURE;
  388.     STDMETHOD(Item)                 (THIS_ VARIANT NameOrIndex, LPVISIODOCUMENT FAR * lpdispRet) PURE;
  389.     STDMETHOD(Count)                (THIS_ short FAR * lpi2Ret) PURE;
  390.     STDMETHOD(OpenEx)               (THIS_ BSTR FileName, short Flags, LPVISIODOCUMENT FAR * lpdispRet) PURE;
  391.     STDMETHOD(EventList)            (THIS_ LPVISIOEVENTS FAR * lpdispRet) PURE;
  392.     STDMETHOD(PersistsEvents)       (THIS_ BOOL FAR * lpboolRet) PURE;
  393.     };
  394.  
  395.  
  396. #undef  INTERFACE
  397. #define INTERFACE   IVisioMaster
  398.  
  399. DECLARE_INTERFACE_(IVisioMaster , IUnknown)
  400.     {
  401.     // *** IUnknown methods ***
  402.     STDMETHOD(QueryInterface)       (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  403.     STDMETHOD_(ULONG,AddRef)        (THIS) PURE;
  404.     STDMETHOD_(ULONG,Release)       (THIS) PURE;
  405.  
  406.     // *** IVisioMaster methods ***
  407.     STDMETHOD(Document)             (THIS_ LPVISIODOCUMENT FAR * lpdispRet) PURE;
  408.     STDMETHOD(getPrompt)            (THIS_ BSTR FAR * lpbstrRet) PURE;
  409.     STDMETHOD(putPrompt)            (THIS_ BSTR PromptString) PURE;
  410.     STDMETHOD(getAlignName)         (THIS_ short FAR * lpi2Ret) PURE;
  411.     STDMETHOD(putAlignName)         (THIS_ short fMasAlignName) PURE;
  412.     STDMETHOD(getIconSize)          (THIS_ short FAR * lpi2Ret) PURE;
  413.     STDMETHOD(putIconSize)          (THIS_ short fMasIconSize) PURE;
  414.     STDMETHOD(getIconUpdate)        (THIS_ short FAR * lpi2Ret) PURE;
  415.     STDMETHOD(putIconUpdate)        (THIS_ short fMasIconUpdate) PURE;
  416.     STDMETHOD(Application)          (THIS_ LPVISIOAPPLICATION FAR * lpdispRet) PURE;
  417.     STDMETHOD(Stat)                 (THIS_ short FAR * lpi2Ret) PURE;
  418.     STDMETHOD(ObjectType)           (THIS_ short FAR * lpi2Ret) PURE;
  419.     STDMETHOD(getName)              (THIS_ BSTR FAR * lpbstrRet) PURE;
  420.     STDMETHOD(putName)              (THIS_ BSTR MasterName) PURE;
  421.     STDMETHOD(Shapes)               (THIS_ LPVISIOSHAPES FAR * lpdispRet) PURE;
  422.     STDMETHOD(Index)                (THIS_ short FAR * lpi2Ret) PURE;
  423.     STDMETHOD(OneD)                 (THIS_ short FAR * lpi2Ret) PURE;
  424.     STDMETHOD(Delete)               (THIS) PURE;
  425.     STDMETHOD(UniqueID)             (THIS_ BSTR FAR * lpbstrRet) PURE;
  426.     STDMETHOD(Layers)               (THIS_ LPVISIOLAYERS FAR * lpdispRet) PURE;
  427.     STDMETHOD(PageSheet)            (THIS_ LPVISIOSHAPE FAR * lpdispRet) PURE;
  428.     STDMETHOD(Drop)                 (THIS_ LPUNKNOWN ObjectToDrop, double xPos, double yPos, LPVISIOSHAPE FAR * lpdispRet) PURE;
  429.     STDMETHOD(CenterDrawing)        (THIS) PURE;
  430.     STDMETHOD(EventList)            (THIS_ LPVISIOEVENTS FAR * lpdispRet) PURE;
  431.     STDMETHOD(PersistsEvents)       (THIS_ BOOL FAR * lpboolRet) PURE;
  432.     STDMETHOD(DrawLine)             (THIS_ double xLeft, double yTop, double xRight, double yBottom, LPVISIOSHAPE FAR * lpdispRet) PURE;
  433.     STDMETHOD(DrawRectangle)        (THIS_ double xLeft, double yTop, double xRight, double yBottom, LPVISIOSHAPE FAR * lpdispRet) PURE;
  434.     STDMETHOD(DrawOval)             (THIS_ double xLeft, double yTop, double xRight, double yBottom, LPVISIOSHAPE FAR * lpdispRet) PURE;
  435.     STDMETHOD(DrawSpline)           (THIS_ SAFEARRAY FAR* FAR* xyArray, double Tolerance, short Flags, LPVISIOSHAPE FAR * lpdispRet) PURE;
  436.     STDMETHOD(DrawBezier)           (THIS_ SAFEARRAY FAR* FAR* xyArray, short degree, short Flags, LPVISIOSHAPE FAR * lpdispRet) PURE;
  437.     STDMETHOD(DrawPolyline)         (THIS_ SAFEARRAY FAR* FAR* xyArray, short Flags, LPVISIOSHAPE FAR * lpdispRet) PURE;
  438.     STDMETHOD(Import)               (THIS_ BSTR FileName, LPVISIOSHAPE FAR * lpdispRet) PURE;
  439.     STDMETHOD(Export)               (THIS_ BSTR FileName) PURE;
  440.     STDMETHOD(InsertFromFile)       (THIS_ BSTR FileName, short Flags, LPVISIOSHAPE FAR * lpdispRet) PURE;
  441.     STDMETHOD(InsertObject)         (THIS_ BSTR ClassID, short Flags, LPVISIOSHAPE FAR * lpdispRet) PURE;
  442.     STDMETHOD(OpenDrawWindow)       (THIS_ LPVISIOWINDOW FAR * lpdispRet) PURE;
  443.     STDMETHOD(OpenIconWindow)       (THIS_ LPVISIOWINDOW FAR * lpdispRet) PURE;
  444.     STDMETHOD(Open)                 (THIS_ LPVISIOMASTER FAR * lpdispRet) PURE;
  445.     STDMETHOD(Close)                (THIS) PURE;
  446.     STDMETHOD(DropMany)             (THIS_ SAFEARRAY FAR* FAR* ObjectsToDrop, SAFEARRAY FAR* FAR* xyArray, short FAR * lpi2Ret) PURE;
  447.     STDMETHOD(GetFormulas)          (THIS_ SAFEARRAY FAR* FAR* SSRCArray, SAFEARRAY FAR* FAR* FormulaArray) PURE;
  448.     STDMETHOD(GetResults)           (THIS_ SAFEARRAY FAR* FAR* SSRCArray, short Flags, VARIANT UnitsNameOrCode, SAFEARRAY FAR* FAR* ResultArray) PURE;
  449.     STDMETHOD(SetFormulas)          (THIS_ SAFEARRAY FAR* FAR* SSRCArray, SAFEARRAY FAR* FAR* FormulaArray, short Flags, short FAR * lpi2Ret) PURE;
  450.     STDMETHOD(SetResults)           (THIS_ SAFEARRAY FAR* FAR* SSRCArray, VARIANT UnitsNameOrCode, SAFEARRAY FAR* FAR* ResultArray, short Flags, short FAR * lpi2Ret) PURE;
  451.     STDMETHOD(Connects)             (THIS_ LPVISIOCONNECTS FAR * lpdispRet) PURE;
  452.     STDMETHOD(ImportIcon)           (THIS_ BSTR FileName) PURE;
  453.     STDMETHOD(ExportIcon)           (THIS_ BSTR FileName, short Flags) PURE;
  454.     };
  455.  
  456.  
  457. #undef  INTERFACE
  458. #define INTERFACE   IVisioMasters
  459.  
  460. DECLARE_INTERFACE_(IVisioMasters , IUnknown)
  461.     {
  462.     // *** IUnknown methods ***
  463.     STDMETHOD(QueryInterface)       (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  464.     STDMETHOD_(ULONG,AddRef)        (THIS) PURE;
  465.     STDMETHOD_(ULONG,Release)       (THIS) PURE;
  466.  
  467.     // *** IVisioMasters methods ***
  468.     STDMETHOD(Application)          (THIS_ LPVISIOAPPLICATION FAR * lpdispRet) PURE;
  469.     STDMETHOD(ObjectType)           (THIS_ short FAR * lpi2Ret) PURE;
  470.     STDMETHOD(Item)                 (THIS_ VARIANT NameUIDOrIndex, LPVISIOMASTER FAR * lpdispRet) PURE;
  471.     STDMETHOD(Count)                (THIS_ short FAR * lpi2Ret) PURE;
  472.     STDMETHOD(Document)             (THIS_ LPVISIODOCUMENT FAR * lpdispRet) PURE;
  473.     STDMETHOD(Stat)                 (THIS_ short FAR * lpi2Ret) PURE;
  474.     STDMETHOD(EventList)            (THIS_ LPVISIOEVENTS FAR * lpdispRet) PURE;
  475.     STDMETHOD(PersistsEvents)       (THIS_ BOOL FAR * lpboolRet) PURE;
  476.     STDMETHOD(Add)                  (THIS_ LPVISIOMASTER FAR * lpdispRet) PURE;
  477.     };
  478.  
  479.  
  480. #undef  INTERFACE
  481. #define INTERFACE   IVisioPage
  482.  
  483. DECLARE_INTERFACE_(IVisioPage , IUnknown)
  484.     {
  485.     // *** IUnknown methods ***
  486.     STDMETHOD(QueryInterface)       (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  487.     STDMETHOD_(ULONG,AddRef)        (THIS) PURE;
  488.     STDMETHOD_(ULONG,Release)       (THIS) PURE;
  489.  
  490.     // *** IVisioPage methods ***
  491.     STDMETHOD(Document)             (THIS_ LPVISIODOCUMENT FAR * lpdispRet) PURE;
  492.     STDMETHOD(Application)          (THIS_ LPVISIOAPPLICATION FAR * lpdispRet) PURE;
  493.     STDMETHOD(Stat)                 (THIS_ short FAR * lpi2Ret) PURE;
  494.     STDMETHOD(getBackground)        (THIS_ short FAR * lpi2Ret) PURE;
  495.     STDMETHOD(putBackground)        (THIS_ short TrueOrFalse) PURE;
  496.     STDMETHOD(Paste)                (THIS) PURE;
  497.     STDMETHOD(PasteSpecial)         (THIS_ short Format) PURE;
  498.     STDMETHOD(ObjectType)           (THIS_ short FAR * lpi2Ret) PURE;
  499.     STDMETHOD(DrawLine)             (THIS_ double xLeft, double yTop, double xRight, double yBottom, LPVISIOSHAPE FAR * lpdispRet) PURE;
  500.     STDMETHOD(DrawRectangle)        (THIS_ double xLeft, double yTop, double xRight, double yBottom, LPVISIOSHAPE FAR * lpdispRet) PURE;
  501.     STDMETHOD(DrawOval)             (THIS_ double xLeft, double yTop, double xRight, double yBottom, LPVISIOSHAPE FAR * lpdispRet) PURE;
  502.     STDMETHOD(Index)                (THIS_ short FAR * lpi2Ret) PURE;
  503.     STDMETHOD(getName)              (THIS_ BSTR FAR * lpbstrRet) PURE;
  504.     STDMETHOD(putName)              (THIS_ BSTR PageName) PURE;
  505.     STDMETHOD(Shapes)               (THIS_ LPVISIOSHAPES FAR * lpdispRet) PURE;
  506.     STDMETHOD(Drop)                 (THIS_ LPUNKNOWN ObjectToDrop, double xPos, double yPos, LPVISIOSHAPE FAR * lpdispRet) PURE;
  507.     STDMETHOD(AddGuide)             (THIS_ short Type, double xPos, double yPos, LPVISIOSHAPE FAR * lpdispRet) PURE;
  508.     STDMETHOD(getBackPage)          (THIS_ LPVISIOPAGE FAR * lpdispRet) PURE;
  509.     STDMETHOD(putBackPage)          (THIS_ BSTR PageName) PURE;
  510.     STDMETHOD(Print)                (THIS) PURE;
  511.     STDMETHOD(Import)               (THIS_ BSTR FileName, LPVISIOSHAPE FAR * lpdispRet) PURE;
  512.     STDMETHOD(Export)               (THIS_ BSTR FileName) PURE;
  513.     STDMETHOD(Layers)               (THIS_ LPVISIOLAYERS FAR * lpdispRet) PURE;
  514.     STDMETHOD(PageSheet)            (THIS_ LPVISIOSHAPE FAR * lpdispRet) PURE;
  515.     STDMETHOD(Delete)               (THIS_ short fRenumberPages) PURE;
  516.     STDMETHOD(CenterDrawing)        (THIS) PURE;
  517.     STDMETHOD(EventList)            (THIS_ LPVISIOEVENTS FAR * lpdispRet) PURE;
  518.     STDMETHOD(PersistsEvents)       (THIS_ BOOL FAR * lpboolRet) PURE;
  519.     STDMETHOD(DrawSpline)           (THIS_ SAFEARRAY FAR* FAR* xyArray, double Tolerance, short Flags, LPVISIOSHAPE FAR * lpdispRet) PURE;
  520.     STDMETHOD(DrawBezier)           (THIS_ SAFEARRAY FAR* FAR* xyArray, short degree, short Flags, LPVISIOSHAPE FAR * lpdispRet) PURE;
  521.     STDMETHOD(DrawPolyline)         (THIS_ SAFEARRAY FAR* FAR* xyArray, short Flags, LPVISIOSHAPE FAR * lpdispRet) PURE;
  522.     STDMETHOD(InsertFromFile)       (THIS_ BSTR FileName, short Flags, LPVISIOSHAPE FAR * lpdispRet) PURE;
  523.     STDMETHOD(InsertObject)         (THIS_ BSTR ClassID, short Flags, LPVISIOSHAPE FAR * lpdispRet) PURE;
  524.     STDMETHOD(OpenDrawWindow)       (THIS_ LPVISIOWINDOW FAR * lpdispRet) PURE;
  525.     STDMETHOD(DropMany)             (THIS_ SAFEARRAY FAR* FAR* ObjectsToDrop, SAFEARRAY FAR* FAR* xyArray, short FAR * lpi2Ret) PURE;
  526.     STDMETHOD(GetFormulas)          (THIS_ SAFEARRAY FAR* FAR* SSRCArray, SAFEARRAY FAR* FAR* FormulaArray) PURE;
  527.     STDMETHOD(GetResults)           (THIS_ SAFEARRAY FAR* FAR* SSRCArray, short Flags, VARIANT UnitsNameOrCode, SAFEARRAY FAR* FAR* ResultArray) PURE;
  528.     STDMETHOD(SetFormulas)          (THIS_ SAFEARRAY FAR* FAR* SSRCArray, SAFEARRAY FAR* FAR* FormulaArray, short Flags, short FAR * lpi2Ret) PURE;
  529.     STDMETHOD(SetResults)           (THIS_ SAFEARRAY FAR* FAR* SSRCArray, VARIANT UnitsNameOrCode, SAFEARRAY FAR* FAR* ResultArray, short Flags, short FAR * lpi2Ret) PURE;
  530.     STDMETHOD(Connects)             (THIS_ LPVISIOCONNECTS FAR * lpdispRet) PURE;
  531.     };
  532.  
  533.  
  534. #undef  INTERFACE
  535. #define INTERFACE   IVisioPages
  536.  
  537. DECLARE_INTERFACE_(IVisioPages , IUnknown)
  538.     {
  539.     // *** IUnknown methods ***
  540.     STDMETHOD(QueryInterface)       (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  541.     STDMETHOD_(ULONG,AddRef)        (THIS) PURE;
  542.     STDMETHOD_(ULONG,Release)       (THIS) PURE;
  543.  
  544.     // *** IVisioPages methods ***
  545.     STDMETHOD(Application)          (THIS_ LPVISIOAPPLICATION FAR * lpdispRet) PURE;
  546.     STDMETHOD(ObjectType)           (THIS_ short FAR * lpi2Ret) PURE;
  547.     STDMETHOD(Item)                 (THIS_ VARIANT NameOrIndex, LPVISIOPAGE FAR * lpdispRet) PURE;
  548.     STDMETHOD(Count)                (THIS_ short FAR * lpi2Ret) PURE;
  549.     STDMETHOD(Add)                  (THIS_ LPVISIOPAGE FAR * lpdispRet) PURE;
  550.     STDMETHOD(Document)             (THIS_ LPVISIODOCUMENT FAR * lpdispRet) PURE;
  551.     STDMETHOD(Stat)                 (THIS_ short FAR * lpi2Ret) PURE;
  552.     STDMETHOD(EventList)            (THIS_ LPVISIOEVENTS FAR * lpdispRet) PURE;
  553.     STDMETHOD(PersistsEvents)       (THIS_ BOOL FAR * lpboolRet) PURE;
  554.     };
  555.  
  556.  
  557. #undef  INTERFACE
  558. #define INTERFACE   IVisioSelection
  559.  
  560. DECLARE_INTERFACE_(IVisioSelection , IUnknown)
  561.     {
  562.     // *** IUnknown methods ***
  563.     STDMETHOD(QueryInterface)       (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  564.     STDMETHOD_(ULONG,AddRef)        (THIS) PURE;
  565.     STDMETHOD_(ULONG,Release)       (THIS) PURE;
  566.  
  567.     // *** IVisioSelection methods ***
  568.     STDMETHOD(Application)          (THIS_ LPVISIOAPPLICATION FAR * lpdispRet) PURE;
  569.     STDMETHOD(Stat)                 (THIS_ short FAR * lpi2Ret) PURE;
  570.     STDMETHOD(ObjectType)           (THIS_ short FAR * lpi2Ret) PURE;
  571.     STDMETHOD(Item)                 (THIS_ short Index, LPVISIOSHAPE FAR * lpdispRet) PURE;
  572.     STDMETHOD(Count)                (THIS_ short FAR * lpi2Ret) PURE;
  573.     STDMETHOD(Export)               (THIS_ BSTR FileName) PURE;
  574.     STDMETHOD(Document)             (THIS_ LPVISIODOCUMENT FAR * lpdispRet) PURE;
  575.     STDMETHOD(ContainingPage)       (THIS_ LPVISIOPAGE FAR * lpdispRet) PURE;
  576.     STDMETHOD(ContainingMaster)     (THIS_ LPVISIOMASTER FAR * lpdispRet) PURE;
  577.     STDMETHOD(ContainingShape)      (THIS_ LPVISIOSHAPE FAR * lpdispRet) PURE;
  578.     STDMETHOD(BringForward)         (THIS) PURE;
  579.     STDMETHOD(BringToFront)         (THIS) PURE;
  580.     STDMETHOD(SendBackward)         (THIS) PURE;
  581.     STDMETHOD(SendToBack)           (THIS) PURE;
  582.     STDMETHOD(getStyle)             (THIS_ BSTR FAR * lpbstrRet) PURE;
  583.     STDMETHOD(putStyle)             (THIS_ BSTR StyleName) PURE;
  584.     STDMETHOD(StyleKeepFmt)         (THIS_ BSTR StyleName) PURE;
  585.     STDMETHOD(getLineStyle)         (THIS_ BSTR FAR * lpbstrRet) PURE;
  586.     STDMETHOD(putLineStyle)         (THIS_ BSTR StyleName) PURE;
  587.     STDMETHOD(LineStyleKeepFmt)     (THIS_ BSTR StyleName) PURE;
  588.     STDMETHOD(getFillStyle)         (THIS_ BSTR FAR * lpbstrRet) PURE;
  589.     STDMETHOD(putFillStyle)         (THIS_ BSTR StyleName) PURE;
  590.     STDMETHOD(FillStyleKeepFmt)     (THIS_ BSTR StyleName) PURE;
  591.     STDMETHOD(getTextStyle)         (THIS_ BSTR FAR * lpbstrRet) PURE;
  592.     STDMETHOD(putTextStyle)         (THIS_ BSTR StyleName) PURE;
  593.     STDMETHOD(TextStyleKeepFmt)     (THIS_ BSTR StyleName) PURE;
  594.     STDMETHOD(Combine)              (THIS) PURE;
  595.     STDMETHOD(Fragment)             (THIS) PURE;
  596.     STDMETHOD(Intersect)            (THIS) PURE;
  597.     STDMETHOD(Subtract)             (THIS) PURE;
  598.     STDMETHOD(Union)                (THIS) PURE;
  599.     STDMETHOD(FlipHorizontal)       (THIS) PURE;
  600.     STDMETHOD(FlipVertical)         (THIS) PURE;
  601.     STDMETHOD(ReverseEnds)          (THIS) PURE;
  602.     STDMETHOD(Rotate90)             (THIS) PURE;
  603.     STDMETHOD(Copy)                 (THIS) PURE;
  604.     STDMETHOD(Cut)                  (THIS) PURE;
  605.     STDMETHOD(Delete)               (THIS) PURE;
  606.     STDMETHOD(Duplicate)            (THIS) PURE;
  607.     STDMETHOD(Group)                (THIS) PURE;
  608.     STDMETHOD(ConvertToGroup)       (THIS) PURE;
  609.     STDMETHOD(Ungroup)              (THIS) PURE;
  610.     STDMETHOD(SelectAll)            (THIS) PURE;
  611.     STDMETHOD(DeselectAll)          (THIS) PURE;
  612.     STDMETHOD(Select)               (THIS_ LPVISIOSHAPE SheetObject, short SelectAction) PURE;
  613.     STDMETHOD(EventList)            (THIS_ LPVISIOEVENTS FAR * lpdispRet) PURE;
  614.     STDMETHOD(PersistsEvents)       (THIS_ BOOL FAR * lpboolRet) PURE;
  615.     STDMETHOD(Trim)                 (THIS) PURE;
  616.     STDMETHOD(Join)                 (THIS) PURE;
  617.     STDMETHOD(FitCurve)             (THIS_ double Tolerance, short Flags) PURE;
  618.     STDMETHOD(SetFormulas)          (THIS_ SAFEARRAY FAR* FAR* SSRCArray, SAFEARRAY FAR* FAR* FormulaArray, short Flags, short FAR * lpi2Ret) PURE;
  619.     STDMETHOD(SetResults)           (THIS_ SAFEARRAY FAR* FAR* SSRCArray, VARIANT UnitsNameOrCode, SAFEARRAY FAR* FAR* ResultArray, short Flags, short FAR * lpi2Ret) PURE;
  620.     };
  621.  
  622.  
  623. #undef  INTERFACE
  624. #define INTERFACE   IVisioShape
  625.  
  626. DECLARE_INTERFACE_(IVisioShape , IUnknown)
  627.     {
  628.     // *** IUnknown methods ***
  629.     STDMETHOD(QueryInterface)       (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  630.     STDMETHOD_(ULONG,AddRef)        (THIS) PURE;
  631.     STDMETHOD_(ULONG,Release)       (THIS) PURE;
  632.  
  633.     // *** IVisioShape methods ***
  634.     STDMETHOD(Group)                (THIS) PURE;
  635.     STDMETHOD(BringForward)         (THIS) PURE;
  636.     STDMETHOD(BringToFront)         (THIS) PURE;
  637.     STDMETHOD(ConvertToGroup)       (THIS) PURE;
  638.     STDMETHOD(FlipHorizontal)       (THIS) PURE;
  639.     STDMETHOD(FlipVertical)         (THIS) PURE;
  640.     STDMETHOD(ReverseEnds)          (THIS) PURE;
  641.     STDMETHOD(SendBackward)         (THIS) PURE;
  642.     STDMETHOD(SendToBack)           (THIS) PURE;
  643.     STDMETHOD(Rotate90)             (THIS) PURE;
  644.     STDMETHOD(Ungroup)              (THIS) PURE;
  645.     STDMETHOD(Document)             (THIS_ LPVISIODOCUMENT FAR * lpdispRet) PURE;
  646.     STDMETHOD(Parent)               (THIS_ LPUNKNOWN FAR * lpdispRet) PURE;
  647.     STDMETHOD(Application)          (THIS_ LPVISIOAPPLICATION FAR * lpdispRet) PURE;
  648.     STDMETHOD(Stat)                 (THIS_ short FAR * lpi2Ret) PURE;
  649.     STDMETHOD(Master)               (THIS_ LPVISIOMASTER FAR * lpdispRet) PURE;
  650.     STDMETHOD(Type)                 (THIS_ short FAR * lpi2Ret) PURE;
  651.     STDMETHOD(ObjectType)           (THIS_ short FAR * lpi2Ret) PURE;
  652.     STDMETHOD(Cells)                (THIS_ BSTR CellName, LPVISIOCELL FAR * lpdispRet) PURE;
  653.     STDMETHOD(CellsSRC)             (THIS_ short Section, short Row, short Column, LPVISIOCELL FAR * lpdispRet) PURE;
  654.     STDMETHOD(Shapes)               (THIS_ LPVISIOSHAPES FAR * lpdispRet) PURE;
  655.     STDMETHOD(getData1)             (THIS_ BSTR FAR * lpbstrRet) PURE;
  656.     STDMETHOD(putData1)             (THIS_ BSTR String) PURE;
  657.     STDMETHOD(getData2)             (THIS_ BSTR FAR * lpbstrRet) PURE;
  658.     STDMETHOD(putData2)             (THIS_ BSTR String) PURE;
  659.     STDMETHOD(getData3)             (THIS_ BSTR FAR * lpbstrRet) PURE;
  660.     STDMETHOD(putData3)             (THIS_ BSTR String) PURE;
  661.     STDMETHOD(getHelp)              (THIS_ BSTR FAR * lpbstrRet) PURE;
  662.     STDMETHOD(putHelp)              (THIS_ BSTR String) PURE;
  663.     STDMETHOD(NameID)               (THIS_ BSTR FAR * lpbstrRet) PURE;
  664.     STDMETHOD(getName)              (THIS_ BSTR FAR * lpbstrRet) PURE;
  665.     STDMETHOD(putName)              (THIS_ BSTR SheetName) PURE;
  666.     STDMETHOD(getText)              (THIS_ BSTR FAR * lpbstrRet) PURE;
  667.     STDMETHOD(putText)              (THIS_ BSTR String) PURE;
  668.     STDMETHOD(CharCount)            (THIS_ long FAR * lpi4Ret) PURE;
  669.     STDMETHOD(Characters)           (THIS_ LPVISIOCHARS FAR * lpdispRet) PURE;
  670.     STDMETHOD(Copy)                 (THIS) PURE;
  671.     STDMETHOD(Cut)                  (THIS) PURE;
  672.     STDMETHOD(Delete)               (THIS) PURE;
  673.     STDMETHOD(Duplicate)            (THIS) PURE;
  674.     STDMETHOD(Drop)                 (THIS_ LPUNKNOWN ObjectToDrop, double xPos, double yPos, LPVISIOSHAPE FAR * lpdispRet) PURE;
  675.     STDMETHOD(getOneD)              (THIS_ short FAR * lpi2Ret) PURE;
  676.     STDMETHOD(putOneD)              (THIS_ short TrueOrFalse) PURE;
  677.     STDMETHOD(GeometryCount)        (THIS_ short FAR * lpi2Ret) PURE;
  678.     STDMETHOD(RowCount)             (THIS_ short Section, short FAR * lpi2Ret) PURE;
  679.     STDMETHOD(AddSection)           (THIS_ short Section, short FAR * lpi2Ret) PURE;
  680.     STDMETHOD(DeleteSection)        (THIS_ short Section) PURE;
  681.     STDMETHOD(AddRow)               (THIS_ short Section, short Row, short RowTag, short FAR * lpi2Ret) PURE;
  682.     STDMETHOD(DeleteRow)            (THIS_ short Section, short Row) PURE;
  683.     STDMETHOD(RowsCellCount)        (THIS_ short Section, short Row, short FAR * lpi2Ret) PURE;
  684.     STDMETHOD(getRowType)           (THIS_ short Section, short Row, short FAR * lpi2Ret) PURE;
  685.     STDMETHOD(putRowType)           (THIS_ short Section, short Row, short RowTag) PURE;
  686.     STDMETHOD(SetCenter)            (THIS_ double xPos, double yPos) PURE;
  687.     STDMETHOD(SetBegin)             (THIS_ double xPos, double yPos) PURE;
  688.     STDMETHOD(SetEnd)               (THIS_ double xPos, double yPos) PURE;
  689.     STDMETHOD(Connects)             (THIS_ LPVISIOCONNECTS FAR * lpdispRet) PURE;
  690.     STDMETHOD(Index)                (THIS_ short FAR * lpi2Ret) PURE;
  691.     STDMETHOD(getStyle)             (THIS_ BSTR FAR * lpbstrRet) PURE;
  692.     STDMETHOD(putStyle)             (THIS_ BSTR StyleName) PURE;
  693.     STDMETHOD(StyleKeepFmt)         (THIS_ BSTR StyleName) PURE;
  694.     STDMETHOD(getLineStyle)         (THIS_ BSTR FAR * lpbstrRet) PURE;
  695.     STDMETHOD(putLineStyle)         (THIS_ BSTR StyleName) PURE;
  696.     STDMETHOD(LineStyleKeepFmt)     (THIS_ BSTR StyleName) PURE;
  697.     STDMETHOD(getFillStyle)         (THIS_ BSTR FAR * lpbstrRet) PURE;
  698.     STDMETHOD(putFillStyle)         (THIS_ BSTR StyleName) PURE;
  699.     STDMETHOD(FillStyleKeepFmt)     (THIS_ BSTR StyleName) PURE;
  700.     STDMETHOD(getTextStyle)         (THIS_ BSTR FAR * lpbstrRet) PURE;
  701.     STDMETHOD(putTextStyle)         (THIS_ BSTR StyleName) PURE;
  702.     STDMETHOD(TextStyleKeepFmt)     (THIS_ BSTR StyleName) PURE;
  703.     STDMETHOD(Export)               (THIS_ BSTR FileName) PURE;
  704.     STDMETHOD(AreaIU)               (THIS_ double FAR * lpr8Ret) PURE;
  705.     STDMETHOD(LengthIU)             (THIS_ double FAR * lpr8Ret) PURE;
  706.     STDMETHOD(GeomExIf)             (THIS_ short fFill, double LineRes, LPUNKNOWN FAR * lpunkRet) PURE;
  707.     STDMETHOD(UniqueID)             (THIS_ short fUniqueID, BSTR FAR * lpbstrRet) PURE;
  708.     STDMETHOD(ContainingPage)       (THIS_ LPVISIOPAGE FAR * lpdispRet) PURE;
  709.     STDMETHOD(ContainingMaster)     (THIS_ LPVISIOMASTER FAR * lpdispRet) PURE;
  710.     STDMETHOD(ContainingShape)      (THIS_ LPVISIOSHAPE FAR * lpdispRet) PURE;
  711.     STDMETHOD(SectionExists)        (THIS_ short Section, short fLocalExists, BOOL FAR * lpboolRet) PURE;
  712.     STDMETHOD(RowExists)            (THIS_ short Section, short Row, short fLocalExists, BOOL FAR * lpboolRet) PURE;
  713.     STDMETHOD(CellExists)           (THIS_ BSTR CellName, short fLocalExists, BOOL FAR * lpboolRet) PURE;
  714.     STDMETHOD(CellsSRCExists)       (THIS_ short Section, short Row, short Column, short fLocalExists, BOOL FAR * lpboolRet) PURE;
  715.     STDMETHOD(LayerCount)           (THIS_ short FAR * lpi2Ret) PURE;
  716.     STDMETHOD(Layer)                (THIS_ short Index, LPVISIOLAYER FAR * lpdispRet) PURE;
  717.     STDMETHOD(AddNamedRow)          (THIS_ short Section, BSTR RowName, short RowTag, short FAR * lpi2Ret) PURE;
  718.     STDMETHOD(AddRows)              (THIS_ short Section, short Row, short RowTag, short RowCount, short FAR * lpi2Ret) PURE;
  719.     STDMETHOD(EventList)            (THIS_ LPVISIOEVENTS FAR * lpdispRet) PURE;
  720.     STDMETHOD(PersistsEvents)       (THIS_ BOOL FAR * lpboolRet) PURE;
  721.     STDMETHOD(DrawLine)             (THIS_ double xLeft, double yTop, double xRight, double yBottom, LPVISIOSHAPE FAR * lpdispRet) PURE;
  722.     STDMETHOD(DrawRectangle)        (THIS_ double xLeft, double yTop, double xRight, double yBottom, LPVISIOSHAPE FAR * lpdispRet) PURE;
  723.     STDMETHOD(DrawOval)             (THIS_ double xLeft, double yTop, double xRight, double yBottom, LPVISIOSHAPE FAR * lpdispRet) PURE;
  724.     STDMETHOD(DrawSpline)           (THIS_ SAFEARRAY FAR* FAR* xyArray, double Tolerance, short Flags, LPVISIOSHAPE FAR * lpdispRet) PURE;
  725.     STDMETHOD(DrawBezier)           (THIS_ SAFEARRAY FAR* FAR* xyArray, short degree, short Flags, LPVISIOSHAPE FAR * lpdispRet) PURE;
  726.     STDMETHOD(DrawPolyline)         (THIS_ SAFEARRAY FAR* FAR* xyArray, short Flags, LPVISIOSHAPE FAR * lpdispRet) PURE;
  727.     STDMETHOD(FitCurve)             (THIS_ double Tolerance, short Flags) PURE;
  728.     STDMETHOD(Import)               (THIS_ BSTR FileName, LPVISIOSHAPE FAR * lpdispRet) PURE;
  729.     STDMETHOD(CenterDrawing)        (THIS) PURE;
  730.     STDMETHOD(InsertFromFile)       (THIS_ BSTR FileName, short Flags, LPVISIOSHAPE FAR * lpdispRet) PURE;
  731.     STDMETHOD(InsertObject)         (THIS_ BSTR ClassID, short Flags, LPVISIOSHAPE FAR * lpdispRet) PURE;
  732.     STDMETHOD(ClassID)              (THIS_ BSTR FAR * lpbstrRet) PURE;
  733.     STDMETHOD(ForeignType)          (THIS_ short FAR * lpi2Ret) PURE;
  734.     STDMETHOD(Object)               (THIS_ LPUNKNOWN FAR * lpdispRet) PURE;
  735.     STDMETHOD(OpenDrawWindow)       (THIS_ LPVISIOWINDOW FAR * lpdispRet) PURE;
  736.     STDMETHOD(OpenSheetWindow)      (THIS_ LPVISIOWINDOW FAR * lpdispRet) PURE;
  737.     STDMETHOD(ID)                   (THIS_ short FAR * lpi2Ret) PURE;
  738.     STDMETHOD(DropMany)             (THIS_ SAFEARRAY FAR* FAR* ObjectsToDrop, SAFEARRAY FAR* FAR* xyArray, short FAR * lpi2Ret) PURE;
  739.     STDMETHOD(GetFormulas)          (THIS_ SAFEARRAY FAR* FAR* SSRCArray, SAFEARRAY FAR* FAR* FormulaArray) PURE;
  740.     STDMETHOD(GetResults)           (THIS_ SAFEARRAY FAR* FAR* SSRCArray, short Flags, VARIANT UnitsNameOrCode, SAFEARRAY FAR* FAR* ResultArray) PURE;
  741.     STDMETHOD(SetFormulas)          (THIS_ SAFEARRAY FAR* FAR* SSRCArray, SAFEARRAY FAR* FAR* FormulaArray, short Flags, short FAR * lpi2Ret) PURE;
  742.     STDMETHOD(SetResults)           (THIS_ SAFEARRAY FAR* FAR* SSRCArray, VARIANT UnitsNameOrCode, SAFEARRAY FAR* FAR* ResultArray, short Flags, short FAR * lpi2Ret) PURE;
  743.     STDMETHOD(FromConnects)         (THIS_ LPVISIOCONNECTS FAR * lpdispRet) PURE;
  744.     };
  745.  
  746.  
  747. #undef  INTERFACE
  748. #define INTERFACE   IVisioShapes
  749.  
  750. DECLARE_INTERFACE_(IVisioShapes , IUnknown)
  751.     {
  752.     // *** IUnknown methods ***
  753.     STDMETHOD(QueryInterface)       (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  754.     STDMETHOD_(ULONG,AddRef)        (THIS) PURE;
  755.     STDMETHOD_(ULONG,Release)       (THIS) PURE;
  756.  
  757.     // *** IVisioShapes methods ***
  758.     STDMETHOD(Application)          (THIS_ LPVISIOAPPLICATION FAR * lpdispRet) PURE;
  759.     STDMETHOD(ObjectType)           (THIS_ short FAR * lpi2Ret) PURE;
  760.     STDMETHOD(Item)                 (THIS_ VARIANT NameUIDOrIndex, LPVISIOSHAPE FAR * lpdispRet) PURE;
  761.     STDMETHOD(Count)                (THIS_ short FAR * lpi2Ret) PURE;
  762.     STDMETHOD(Document)             (THIS_ LPVISIODOCUMENT FAR * lpdispRet) PURE;
  763.     STDMETHOD(ContainingPage)       (THIS_ LPVISIOPAGE FAR * lpdispRet) PURE;
  764.     STDMETHOD(ContainingMaster)     (THIS_ LPVISIOMASTER FAR * lpdispRet) PURE;
  765.     STDMETHOD(ContainingShape)      (THIS_ LPVISIOSHAPE FAR * lpdispRet) PURE;
  766.     STDMETHOD(CenterDrawing)        (THIS) PURE;
  767.     STDMETHOD(Stat)                 (THIS_ short FAR * lpi2Ret) PURE;
  768.     STDMETHOD(EventList)            (THIS_ LPVISIOEVENTS FAR * lpdispRet) PURE;
  769.     STDMETHOD(PersistsEvents)       (THIS_ BOOL FAR * lpboolRet) PURE;
  770.     STDMETHOD(ItemFromID)           (THIS_ short ObjectID, LPVISIOSHAPE FAR * lpdispRet) PURE;
  771.     };
  772.  
  773.  
  774. #undef  INTERFACE
  775. #define INTERFACE   IVisioStyle
  776.  
  777. DECLARE_INTERFACE_(IVisioStyle , IUnknown)
  778.     {
  779.     // *** IUnknown methods ***
  780.     STDMETHOD(QueryInterface)       (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  781.     STDMETHOD_(ULONG,AddRef)        (THIS) PURE;
  782.     STDMETHOD_(ULONG,Release)       (THIS) PURE;
  783.  
  784.     // *** IVisioStyle methods ***
  785.     STDMETHOD(Application)          (THIS_ LPVISIOAPPLICATION FAR * lpdispRet) PURE;
  786.     STDMETHOD(Stat)                 (THIS_ short FAR * lpi2Ret) PURE;
  787.     STDMETHOD(ObjectType)           (THIS_ short FAR * lpi2Ret) PURE;
  788.     STDMETHOD(getName)              (THIS_ BSTR FAR * lpbstrRet) PURE;
  789.     STDMETHOD(putName)              (THIS_ BSTR StyleName) PURE;
  790.     STDMETHOD(Index)                (THIS_ short FAR * lpi2Ret) PURE;
  791.     STDMETHOD(Document)             (THIS_ LPVISIODOCUMENT FAR * lpdispRet) PURE;
  792.     STDMETHOD(getBasedOn)           (THIS_ BSTR FAR * lpbstrRet) PURE;
  793.     STDMETHOD(putBasedOn)           (THIS_ BSTR StyleName) PURE;
  794.     STDMETHOD(getTextBasedOn)       (THIS_ BSTR FAR * lpbstrRet) PURE;
  795.     STDMETHOD(putTextBasedOn)       (THIS_ BSTR StyleName) PURE;
  796.     STDMETHOD(getLineBasedOn)       (THIS_ BSTR FAR * lpbstrRet) PURE;
  797.     STDMETHOD(putLineBasedOn)       (THIS_ BSTR StyleName) PURE;
  798.     STDMETHOD(getFillBasedOn)       (THIS_ BSTR FAR * lpbstrRet) PURE;
  799.     STDMETHOD(putFillBasedOn)       (THIS_ BSTR StyleName) PURE;
  800.     STDMETHOD(getIncludesText)      (THIS_ short FAR * lpi2Ret) PURE;
  801.     STDMETHOD(putIncludesText)      (THIS_ short TrueOrFalse) PURE;
  802.     STDMETHOD(getIncludesLine)      (THIS_ short FAR * lpi2Ret) PURE;
  803.     STDMETHOD(putIncludesLine)      (THIS_ short TrueOrFalse) PURE;
  804.     STDMETHOD(getIncludesFill)      (THIS_ short FAR * lpi2Ret) PURE;
  805.     STDMETHOD(putIncludesFill)      (THIS_ short TrueOrFalse) PURE;
  806.     STDMETHOD(Cells)                (THIS_ BSTR CellName, LPVISIOCELL FAR * lpdispRet) PURE;
  807.     STDMETHOD(Delete)               (THIS_ LPUNKNOWN FAR * lpdispRet) PURE;
  808.     STDMETHOD(EventList)            (THIS_ LPVISIOEVENTS FAR * lpdispRet) PURE;
  809.     STDMETHOD(PersistsEvents)       (THIS_ BOOL FAR * lpboolRet) PURE;
  810.     STDMETHOD(ID)                   (THIS_ short FAR * lpi2Ret) PURE;
  811.     };
  812.  
  813.  
  814. #undef  INTERFACE
  815. #define INTERFACE   IVisioStyles
  816.  
  817. DECLARE_INTERFACE_(IVisioStyles , IUnknown)
  818.     {
  819.     // *** IUnknown methods ***
  820.     STDMETHOD(QueryInterface)       (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  821.     STDMETHOD_(ULONG,AddRef)        (THIS) PURE;
  822.     STDMETHOD_(ULONG,Release)       (THIS) PURE;
  823.  
  824.     // *** IVisioStyles methods ***
  825.     STDMETHOD(Application)          (THIS_ LPVISIOAPPLICATION FAR * lpdispRet) PURE;
  826.     STDMETHOD(ObjectType)           (THIS_ short FAR * lpi2Ret) PURE;
  827.     STDMETHOD(Item)                 (THIS_ VARIANT NameOrIndex, LPVISIOSTYLE FAR * lpdispRet) PURE;
  828.     STDMETHOD(Count)                (THIS_ short FAR * lpi2Ret) PURE;
  829.     STDMETHOD(Document)             (THIS_ LPVISIODOCUMENT FAR * lpdispRet) PURE;
  830.     STDMETHOD(Add)                  (THIS_ BSTR StyleName, BSTR BasedOn, short fIncludesText, short fIncludesLine, short fIncludesFill, LPVISIOSTYLE FAR * lpdispRet) PURE;
  831.     STDMETHOD(Stat)                 (THIS_ short FAR * lpi2Ret) PURE;
  832.     STDMETHOD(EventList)            (THIS_ LPVISIOEVENTS FAR * lpdispRet) PURE;
  833.     STDMETHOD(PersistsEvents)       (THIS_ BOOL FAR * lpboolRet) PURE;
  834.     STDMETHOD(ItemFromID)           (THIS_ short ObjectID, LPVISIOSTYLE FAR * lpdispRet) PURE;
  835.     };
  836.  
  837.  
  838. #undef  INTERFACE
  839. #define INTERFACE   IVisioWindow
  840.  
  841. DECLARE_INTERFACE_(IVisioWindow , IUnknown)
  842.     {
  843.     // *** IUnknown methods ***
  844.     STDMETHOD(QueryInterface)       (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  845.     STDMETHOD_(ULONG,AddRef)        (THIS) PURE;
  846.     STDMETHOD_(ULONG,Release)       (THIS) PURE;
  847.  
  848.     // *** IVisioWindow methods ***
  849.     STDMETHOD(Application)          (THIS_ LPVISIOAPPLICATION FAR * lpdispRet) PURE;
  850.     STDMETHOD(Stat)                 (THIS_ short FAR * lpi2Ret) PURE;
  851.     STDMETHOD(ObjectType)           (THIS_ short FAR * lpi2Ret) PURE;
  852.     STDMETHOD(Activate)             (THIS) PURE;
  853.     STDMETHOD(Type)                 (THIS_ short FAR * lpi2Ret) PURE;
  854.     STDMETHOD(Document)             (THIS_ LPVISIODOCUMENT FAR * lpdispRet) PURE;
  855.     STDMETHOD(getPage)              (THIS_ LPVISIOPAGE FAR * lpdispRet) PURE;
  856.     STDMETHOD(putPage)              (THIS_ BSTR PageName) PURE;
  857.     STDMETHOD(getZoom)              (THIS_ double FAR * lpr8Ret) PURE;
  858.     STDMETHOD(putZoom)              (THIS_ double Zoom) PURE;
  859.     STDMETHOD(Close)                (THIS) PURE;
  860.     STDMETHOD(SelectAll)            (THIS) PURE;
  861.     STDMETHOD(DeselectAll)          (THIS) PURE;
  862.     STDMETHOD(Selection)            (THIS_ LPVISIOSELECTION FAR * lpdispRet) PURE;
  863.     STDMETHOD(Select)               (THIS_ LPVISIOSHAPE SheetObject, short SelectAction) PURE;
  864.     STDMETHOD(Index)                (THIS_ short FAR * lpi2Ret) PURE;
  865.     STDMETHOD(Cut)                  (THIS) PURE;
  866.     STDMETHOD(Copy)                 (THIS) PURE;
  867.     STDMETHOD(Paste)                (THIS) PURE;
  868.     STDMETHOD(Delete)               (THIS) PURE;
  869.     STDMETHOD(Duplicate)            (THIS) PURE;
  870.     STDMETHOD(Group)                (THIS) PURE;
  871.     STDMETHOD(Union)                (THIS) PURE;
  872.     STDMETHOD(Combine)              (THIS) PURE;
  873.     STDMETHOD(Fragment)             (THIS) PURE;
  874.     STDMETHOD(AddToGroup)           (THIS) PURE;
  875.     STDMETHOD(RemoveFromGroup)      (THIS) PURE;
  876.     STDMETHOD(SubType)              (THIS_ short FAR * lpi2Ret) PURE;
  877.     STDMETHOD(Intersect)            (THIS) PURE;
  878.     STDMETHOD(Subtract)             (THIS) PURE;
  879.     STDMETHOD(EventList)            (THIS_ LPVISIOEVENTS FAR * lpdispRet) PURE;
  880.     STDMETHOD(PersistsEvents)       (THIS_ BOOL FAR * lpboolRet) PURE;
  881.     STDMETHOD(WindowHandle)         (THIS_ short FAR * lpi2Ret) PURE;
  882.     STDMETHOD(WindowHandle32)       (THIS_ long FAR * lpi4Ret) PURE;
  883.     STDMETHOD(Trim)                 (THIS) PURE;
  884.     STDMETHOD(Join)                 (THIS) PURE;
  885.     STDMETHOD(getShowRulers)        (THIS_ short FAR * lpi2Ret) PURE;
  886.     STDMETHOD(putShowRulers)        (THIS_ short OnOrOff) PURE;
  887.     STDMETHOD(getShowGrid)          (THIS_ short FAR * lpi2Ret) PURE;
  888.     STDMETHOD(putShowGrid)          (THIS_ short OnOrOff) PURE;
  889.     STDMETHOD(getShowGuides)        (THIS_ short FAR * lpi2Ret) PURE;
  890.     STDMETHOD(putShowGuides)        (THIS_ short OnOrOff) PURE;
  891.     STDMETHOD(getShowConnectPoints) (THIS_ short FAR * lpi2Ret) PURE;
  892.     STDMETHOD(putShowConnectPoints) (THIS_ short OnOrOff) PURE;
  893.     STDMETHOD(getShowPageBreaks)    (THIS_ short FAR * lpi2Ret) PURE;
  894.     STDMETHOD(putShowPageBreaks)    (THIS_ short OnOrOff) PURE;
  895.     };
  896.  
  897.  
  898. #undef  INTERFACE
  899. #define INTERFACE   IVisioWindows
  900.  
  901. DECLARE_INTERFACE_(IVisioWindows , IUnknown)
  902.     {
  903.     // *** IUnknown methods ***
  904.     STDMETHOD(QueryInterface)       (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  905.     STDMETHOD_(ULONG,AddRef)        (THIS) PURE;
  906.     STDMETHOD_(ULONG,Release)       (THIS) PURE;
  907.  
  908.     // *** IVisioWindows methods ***
  909.     STDMETHOD(Application)          (THIS_ LPVISIOAPPLICATION FAR * lpdispRet) PURE;
  910.     STDMETHOD(ObjectType)           (THIS_ short FAR * lpi2Ret) PURE;
  911.     STDMETHOD(Item)                 (THIS_ short Index, LPVISIOWINDOW FAR * lpdispRet) PURE;
  912.     STDMETHOD(Count)                (THIS_ short FAR * lpi2Ret) PURE;
  913.     STDMETHOD(Arrange)              (THIS) PURE;
  914.     STDMETHOD(EventList)            (THIS_ LPVISIOEVENTS FAR * lpdispRet) PURE;
  915.     STDMETHOD(PersistsEvents)       (THIS_ BOOL FAR * lpboolRet) PURE;
  916.     };
  917.  
  918.  
  919. #undef  INTERFACE
  920. #define INTERFACE   IVisioLayer
  921.  
  922. DECLARE_INTERFACE_(IVisioLayer , IUnknown)
  923.     {
  924.     // *** IUnknown methods ***
  925.     STDMETHOD(QueryInterface)       (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  926.     STDMETHOD_(ULONG,AddRef)        (THIS) PURE;
  927.     STDMETHOD_(ULONG,Release)       (THIS) PURE;
  928.  
  929.     // *** IVisioLayer methods ***
  930.     STDMETHOD(Application)          (THIS_ LPVISIOAPPLICATION FAR * lpdispRet) PURE;
  931.     STDMETHOD(Document)             (THIS_ LPVISIODOCUMENT FAR * lpdispRet) PURE;
  932.     STDMETHOD(Page)                 (THIS_ LPVISIOPAGE FAR * lpdispRet) PURE;
  933.     STDMETHOD(Master)               (THIS_ LPVISIOMASTER FAR * lpdispRet) PURE;
  934.     STDMETHOD(Index)                (THIS_ short FAR * lpi2Ret) PURE;
  935.     STDMETHOD(Row)                  (THIS_ short FAR * lpi2Ret) PURE;
  936.     STDMETHOD(Add)                  (THIS_ LPVISIOSHAPE SheetObject, short fPresMems) PURE;
  937.     STDMETHOD(Remove)               (THIS_ LPVISIOSHAPE SheetObject, short fPresMems) PURE;
  938.     STDMETHOD(Delete)               (THIS_ short fDeleteShapes) PURE;
  939.     STDMETHOD(getName)              (THIS_ BSTR FAR * lpbstrRet) PURE;
  940.     STDMETHOD(putName)              (THIS_ BSTR LayerName) PURE;
  941.     STDMETHOD(CellsC)               (THIS_ short Column, LPVISIOCELL FAR * lpdispRet) PURE;
  942.     STDMETHOD(ObjectType)           (THIS_ short FAR * lpi2Ret) PURE;
  943.     STDMETHOD(Stat)                 (THIS_ short FAR * lpi2Ret) PURE;
  944.     STDMETHOD(EventList)            (THIS_ LPVISIOEVENTS FAR * lpdispRet) PURE;
  945.     STDMETHOD(PersistsEvents)       (THIS_ BOOL FAR * lpboolRet) PURE;
  946.     };
  947.  
  948.  
  949. #undef  INTERFACE
  950. #define INTERFACE   IVisioLayers
  951.  
  952. DECLARE_INTERFACE_(IVisioLayers , IUnknown)
  953.     {
  954.     // *** IUnknown methods ***
  955.     STDMETHOD(QueryInterface)       (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  956.     STDMETHOD_(ULONG,AddRef)        (THIS) PURE;
  957.     STDMETHOD_(ULONG,Release)       (THIS) PURE;
  958.  
  959.     // *** IVisioLayers methods ***
  960.     STDMETHOD(Application)          (THIS_ LPVISIOAPPLICATION FAR * lpdispRet) PURE;
  961.     STDMETHOD(Document)             (THIS_ LPVISIODOCUMENT FAR * lpdispRet) PURE;
  962.     STDMETHOD(Page)                 (THIS_ LPVISIOPAGE FAR * lpdispRet) PURE;
  963.     STDMETHOD(Master)               (THIS_ LPVISIOMASTER FAR * lpdispRet) PURE;
  964.     STDMETHOD(Count)                (THIS_ short FAR * lpi2Ret) PURE;
  965.     STDMETHOD(Item)                 (THIS_ VARIANT NameOrIndex, LPVISIOLAYER FAR * lpdispRet) PURE;
  966.     STDMETHOD(Add)                  (THIS_ BSTR LayerName, LPVISIOLAYER FAR * lpdispRet) PURE;
  967.     STDMETHOD(ObjectType)           (THIS_ short FAR * lpi2Ret) PURE;
  968.     STDMETHOD(Stat)                 (THIS_ short FAR * lpi2Ret) PURE;
  969.     STDMETHOD(EventList)            (THIS_ LPVISIOEVENTS FAR * lpdispRet) PURE;
  970.     STDMETHOD(PersistsEvents)       (THIS_ BOOL FAR * lpboolRet) PURE;
  971.     };
  972.  
  973.  
  974. #undef  INTERFACE
  975. #define INTERFACE   IVisioFont
  976.  
  977. DECLARE_INTERFACE_(IVisioFont , IUnknown)
  978.     {
  979.     // *** IUnknown methods ***
  980.     STDMETHOD(QueryInterface)       (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  981.     STDMETHOD_(ULONG,AddRef)        (THIS) PURE;
  982.     STDMETHOD_(ULONG,Release)       (THIS) PURE;
  983.  
  984.     // *** IVisioFont methods ***
  985.     STDMETHOD(Application)          (THIS_ LPVISIOAPPLICATION FAR * lpdispRet) PURE;
  986.     STDMETHOD(Document)             (THIS_ LPVISIODOCUMENT FAR * lpdispRet) PURE;
  987.     STDMETHOD(Index)                (THIS_ short FAR * lpi2Ret) PURE;
  988.     STDMETHOD(Name)                 (THIS_ BSTR FAR * lpbstrRet) PURE;
  989.     STDMETHOD(ID)                   (THIS_ short FAR * lpi2Ret) PURE;
  990.     STDMETHOD(Attributes)           (THIS_ short FAR * lpi2Ret) PURE;
  991.     STDMETHOD(CharSet)              (THIS_ short FAR * lpi2Ret) PURE;
  992.     STDMETHOD(PitchAndFamily)       (THIS_ short FAR * lpi2Ret) PURE;
  993.     STDMETHOD(ObjectType)           (THIS_ short FAR * lpi2Ret) PURE;
  994.     STDMETHOD(Stat)                 (THIS_ short FAR * lpi2Ret) PURE;
  995.     };
  996.  
  997.  
  998. #undef  INTERFACE
  999. #define INTERFACE   IVisioFonts
  1000.  
  1001. DECLARE_INTERFACE_(IVisioFonts , IUnknown)
  1002.     {
  1003.     // *** IUnknown methods ***
  1004.     STDMETHOD(QueryInterface)       (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  1005.     STDMETHOD_(ULONG,AddRef)        (THIS) PURE;
  1006.     STDMETHOD_(ULONG,Release)       (THIS) PURE;
  1007.  
  1008.     // *** IVisioFonts methods ***
  1009.     STDMETHOD(Application)          (THIS_ LPVISIOAPPLICATION FAR * lpdispRet) PURE;
  1010.     STDMETHOD(Document)             (THIS_ LPVISIODOCUMENT FAR * lpdispRet) PURE;
  1011.     STDMETHOD(Count)                (THIS_ short FAR * lpi2Ret) PURE;
  1012.     STDMETHOD(Item)                 (THIS_ VARIANT NameOrIndex, LPVISIOFONT FAR * lpdispRet) PURE;
  1013.     STDMETHOD(ItemFromID)           (THIS_ long ObjectID, LPVISIOFONT FAR * lpdispRet) PURE;
  1014.     STDMETHOD(ObjectType)           (THIS_ short FAR * lpi2Ret) PURE;
  1015.     STDMETHOD(Stat)                 (THIS_ short FAR * lpi2Ret) PURE;
  1016.     };
  1017.  
  1018.  
  1019. #undef  INTERFACE
  1020. #define INTERFACE   IVisioColor
  1021.  
  1022. DECLARE_INTERFACE_(IVisioColor , IUnknown)
  1023.     {
  1024.     // *** IUnknown methods ***
  1025.     STDMETHOD(QueryInterface)       (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  1026.     STDMETHOD_(ULONG,AddRef)        (THIS) PURE;
  1027.     STDMETHOD_(ULONG,Release)       (THIS) PURE;
  1028.  
  1029.     // *** IVisioColor methods ***
  1030.     STDMETHOD(Application)          (THIS_ LPVISIOAPPLICATION FAR * lpdispRet) PURE;
  1031.     STDMETHOD(Document)             (THIS_ LPVISIODOCUMENT FAR * lpdispRet) PURE;
  1032.     STDMETHOD(Index)                (THIS_ short FAR * lpi2Ret) PURE;
  1033.     STDMETHOD(getRed)               (THIS_ short FAR * lpi2Ret) PURE;
  1034.     STDMETHOD(putRed)               (THIS_ short RGBVal) PURE;
  1035.     STDMETHOD(getGreen)             (THIS_ short FAR * lpi2Ret) PURE;
  1036.     STDMETHOD(putGreen)             (THIS_ short RGBVal) PURE;
  1037.     STDMETHOD(getBlue)              (THIS_ short FAR * lpi2Ret) PURE;
  1038.     STDMETHOD(putBlue)              (THIS_ short RGBVal) PURE;
  1039.     STDMETHOD(getFlags)             (THIS_ short FAR * lpi2Ret) PURE;
  1040.     STDMETHOD(putFlags)             (THIS_ short fColorFlags) PURE;
  1041.     STDMETHOD(getPaletteEntry)      (THIS_ long FAR * lpi4Ret) PURE;
  1042.     STDMETHOD(putPaletteEntry)      (THIS_ long ColPalEntry) PURE;
  1043.     STDMETHOD(ObjectType)           (THIS_ short FAR * lpi2Ret) PURE;
  1044.     STDMETHOD(Stat)                 (THIS_ short FAR * lpi2Ret) PURE;
  1045.     };
  1046.  
  1047.  
  1048. #undef  INTERFACE
  1049. #define INTERFACE   IVisioColors
  1050.  
  1051. DECLARE_INTERFACE_(IVisioColors , IUnknown)
  1052.     {
  1053.     // *** IUnknown methods ***
  1054.     STDMETHOD(QueryInterface)       (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  1055.     STDMETHOD_(ULONG,AddRef)        (THIS) PURE;
  1056.     STDMETHOD_(ULONG,Release)       (THIS) PURE;
  1057.  
  1058.     // *** IVisioColors methods ***
  1059.     STDMETHOD(Application)          (THIS_ LPVISIOAPPLICATION FAR * lpdispRet) PURE;
  1060.     STDMETHOD(Document)             (THIS_ LPVISIODOCUMENT FAR * lpdispRet) PURE;
  1061.     STDMETHOD(Count)                (THIS_ short FAR * lpi2Ret) PURE;
  1062.     STDMETHOD(Item)                 (THIS_ short Index, LPVISIOCOLOR FAR * lpdispRet) PURE;
  1063.     STDMETHOD(ObjectType)           (THIS_ short FAR * lpi2Ret) PURE;
  1064.     STDMETHOD(Stat)                 (THIS_ short FAR * lpi2Ret) PURE;
  1065.     };
  1066.  
  1067.  
  1068. #undef  INTERFACE
  1069. #define INTERFACE   IVisioAddon
  1070.  
  1071. DECLARE_INTERFACE_(IVisioAddon , IUnknown)
  1072.     {
  1073.     // *** IUnknown methods ***
  1074.     STDMETHOD(QueryInterface)       (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  1075.     STDMETHOD_(ULONG,AddRef)        (THIS) PURE;
  1076.     STDMETHOD_(ULONG,Release)       (THIS) PURE;
  1077.  
  1078.     // *** IVisioAddon methods ***
  1079.     STDMETHOD(Application)          (THIS_ LPVISIOAPPLICATION FAR * lpdispRet) PURE;
  1080.     STDMETHOD(ObjectType)           (THIS_ short FAR * lpi2Ret) PURE;
  1081.     STDMETHOD(Name)                 (THIS_ BSTR FAR * lpbstrRet) PURE;
  1082.     STDMETHOD(Index)                (THIS_ short FAR * lpi2Ret) PURE;
  1083.     STDMETHOD(Enabled)              (THIS_ BOOL FAR * lpboolRet) PURE;
  1084.     STDMETHOD(Run)                  (THIS_ BSTR ArgString) PURE;
  1085.     };
  1086.  
  1087.  
  1088. #undef  INTERFACE
  1089. #define INTERFACE   IVisioAddons
  1090.  
  1091. DECLARE_INTERFACE_(IVisioAddons , IUnknown)
  1092.     {
  1093.     // *** IUnknown methods ***
  1094.     STDMETHOD(QueryInterface)       (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  1095.     STDMETHOD_(ULONG,AddRef)        (THIS) PURE;
  1096.     STDMETHOD_(ULONG,Release)       (THIS) PURE;
  1097.  
  1098.     // *** IVisioAddons methods ***
  1099.     STDMETHOD(Application)          (THIS_ LPVISIOAPPLICATION FAR * lpdispRet) PURE;
  1100.     STDMETHOD(ObjectType)           (THIS_ short FAR * lpi2Ret) PURE;
  1101.     STDMETHOD(Item)                 (THIS_ VARIANT NameOrIndex, LPVISIOADDON FAR * lpdispRet) PURE;
  1102.     STDMETHOD(Count)                (THIS_ short FAR * lpi2Ret) PURE;
  1103.     STDMETHOD(Add)                  (THIS_ BSTR FileName, LPVISIOADDON FAR * lpdispRet) PURE;
  1104.     };
  1105.  
  1106.  
  1107. #undef  INTERFACE
  1108. #define INTERFACE   IVisioEvent
  1109.  
  1110. DECLARE_INTERFACE_(IVisioEvent , IUnknown)
  1111.     {
  1112.     // *** IUnknown methods ***
  1113.     STDMETHOD(QueryInterface)       (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  1114.     STDMETHOD_(ULONG,AddRef)        (THIS) PURE;
  1115.     STDMETHOD_(ULONG,Release)       (THIS) PURE;
  1116.  
  1117.     // *** IVisioEvent methods ***
  1118.     STDMETHOD(Application)          (THIS_ LPVISIOAPPLICATION FAR * lpdispRet) PURE;
  1119.     STDMETHOD(EventList)            (THIS_ LPVISIOEVENTS FAR * lpdispRet) PURE;
  1120.     STDMETHOD(Index)                (THIS_ short FAR * lpi2Ret) PURE;
  1121.     STDMETHOD(getEvent)             (THIS_ short FAR * lpi2Ret) PURE;
  1122.     STDMETHOD(putEvent)             (THIS_ short Event) PURE;
  1123.     STDMETHOD(getAction)            (THIS_ short FAR * lpi2Ret) PURE;
  1124.     STDMETHOD(putAction)            (THIS_ short Action) PURE;
  1125.     STDMETHOD(getTarget)            (THIS_ BSTR FAR * lpbstrRet) PURE;
  1126.     STDMETHOD(putTarget)            (THIS_ BSTR Target) PURE;
  1127.     STDMETHOD(getTargetArgs)        (THIS_ BSTR FAR * lpbstrRet) PURE;
  1128.     STDMETHOD(putTargetArgs)        (THIS_ BSTR TargetArgs) PURE;
  1129.     STDMETHOD(Trigger)              (THIS_ BSTR ContextString) PURE;
  1130.     STDMETHOD(Delete)               (THIS) PURE;
  1131.     STDMETHOD(ObjectType)           (THIS_ short FAR * lpi2Ret) PURE;
  1132.     STDMETHOD(ID)                   (THIS_ long FAR * lpi4Ret) PURE;
  1133.     STDMETHOD(getEnabled)           (THIS_ short FAR * lpi2Ret) PURE;
  1134.     STDMETHOD(putEnabled)           (THIS_ short TrueOrFalse) PURE;
  1135.     STDMETHOD(Persistable)          (THIS_ BOOL FAR * lpboolRet) PURE;
  1136.     STDMETHOD(getPersistent)        (THIS_ short FAR * lpi2Ret) PURE;
  1137.     STDMETHOD(putPersistent)        (THIS_ short OnOrOff) PURE;
  1138.     };
  1139.  
  1140.  
  1141. #undef  INTERFACE
  1142. #define INTERFACE   IVisioEvents
  1143.  
  1144. DECLARE_INTERFACE_(IVisioEvents , IUnknown)
  1145.     {
  1146.     // *** IUnknown methods ***
  1147.     STDMETHOD(QueryInterface)       (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  1148.     STDMETHOD_(ULONG,AddRef)        (THIS) PURE;
  1149.     STDMETHOD_(ULONG,Release)       (THIS) PURE;
  1150.  
  1151.     // *** IVisioEvents methods ***
  1152.     STDMETHOD(Application)          (THIS_ LPVISIOAPPLICATION FAR * lpdispRet) PURE;
  1153.     STDMETHOD(ObjectType)           (THIS_ short FAR * lpi2Ret) PURE;
  1154.     STDMETHOD(Item)                 (THIS_ short Index, LPVISIOEVENT FAR * lpdispRet) PURE;
  1155.     STDMETHOD(Count)                (THIS_ short FAR * lpi2Ret) PURE;
  1156.     STDMETHOD(Add)                  (THIS_ short Event, short Action, BSTR Target, BSTR TargetArgs, LPVISIOEVENT FAR * lpdispRet) PURE;
  1157.     STDMETHOD(AddAdvise)            (THIS_ short Event, VARIANT SinkIUnkOrIDisp, BSTR IIDSink, BSTR TargetArgs, LPVISIOEVENT FAR * lpdispRet) PURE;
  1158.     STDMETHOD(ItemFromID)           (THIS_ long ObjectID, LPVISIOEVENT FAR * lpdispRet) PURE;
  1159.     };
  1160.  
  1161.  
  1162. #endif /* _OVISPROX_H */
  1163.